1
프로그래밍 흐름과 데이터 매핑의 기초
AI015Lesson 6
00:00

1. 네임스페이스 관리

프로그램 환경을 제어하는 것은 모듈을 어떻게 불러오는지부터 시작됩니다. using Dates 모든 함수를 현재 범위에 내보내며, 반면에 import Dates 명시적인 접두사 사용이 필요합니다 (예: Dates.now())는 대규모 데이터 매핑에서 이름 충돌을 방지하는 데 필수적입니다.

2. 다중 디스패치를 통한 로직 흐름

줄루아에서는 흐름 제어가 단순히 if 문장에 국한되지 않습니다. 이는 타입 시스템에 내재되어 있습니다. 함수의 특화된 버전을 정의함으로써 (예: foo(::Integer, ::Integer) 또는 foo(::Number, ::Number))로 컴파일러는 실행을 가장 구체적인 매칭으로 자동 경로 지정합니다. 이는 데이터 타입에 따라 매우 효율적인 암시적 결정 트리를 생성합니다.

foo(50, 100) → "A와 B 모두 정수입니다"
foo(4.5, 20) → "A와 B 모두 숫자입니다"

3. 계층적 데이터 매핑 (날짜)

복잡한 데이터 구조, 예를 들어 시간 타입은 공식적인 계층 구조로 정렬됩니다. 이는 서로 다른 정밀도 간의 산술 연산을 가능하게 하며, 예를 들어 DateTimeDate사이의 기간을 계산하는 것처럼요.

AbstractTimeTimeTypePeriodInstantDateTime밀리초
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>